<!DOCTYPE html>
<html lang="zh-CN">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>函数柯里化</title>
</head>

<body>
  <h2>函数柯里化</h2>
  <script>
    // ------------- 原函数 -------------
    // function sum(a, b) {
    //   return a + b
    // }

    // sum(1, 2) // 3


    // ------------- 改写 -------------
    // // 1. 定义接收一个参数的函数
    // function sum(a) {
    //   // 2. 内部返回一个接收剩余参数的新函数,返回累加结果
    //   return function (b) {
    //     return a + b
    //   }
    // }



    // sum(1)(2)// 3


    // ------------- 思考题 -------------
    // sum(1)(2)(3)// 6
    function sum(a) {
      return function (b) {
        return function (c) {
          return a + b + c
        }
      }
    }

  </script>
</body>

</html>